package com.example.communist_app_api.db.dao;

import com.example.communist_app_api.db.pojoDto.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface UserRoleDao {
    ArrayList<Integer>  getRoleIdByUserId(Integer userId);

    int deleteAllUserRole(Integer userId);

    int assignRole(@Param("userId") Integer userId,@Param("roleId") Integer roleId);

    List<Role> getRoleByUserId(Integer userId);

    Integer updateUserRoleByUserId(@Param("userId") Integer userId,@Param("roleId") Integer roleId);

    Boolean deleteUserRoleByUserId(@Param("userId") int userId, @Param("roleId") Integer roleId);

    Integer getUserIdByRoleIdAndOrganizationId(@Param("roleId") Integer roleId, @Param("organizationId") Integer organizationId);

    void updateUserRoleByUserList(@Param("userList") List<Integer> userIdList,@Param("VisitorId") Integer VisitorId);
}
